-
-
Notifications
You must be signed in to change notification settings - Fork 181
[STALE] add SCSI Protocol support #1155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…and `ExtScsiIoScsiRequestPacket`. refer to UEFI 2.10 spec docs.
…w `execute_scsi_command` send req packet is ok. **PASSED**: - SCSI_IO all api, SCSI_THRU `mode()` and `reset()` api, are test passed. **PROBLEM**: 1. panic at allocator.rs while test_scsi_io return; 2. still problem with `DevicePath`,`target_id`,`pass_thru`; **UNKNOWN**: - scsi req ok but resp without test at `execute_scsi_command()`.
after you review the code and resolve the panic, you could merge it. |
# Conflicts: # uefi-test-runner/examples/scsi.rs
Before I review fully, it would help to do some cleanup:
This will make review easier :) |
sry, has no time to cleanup it for my tired life, just review/reedit and merge it plz. |
The split-out from #1517 took care of the uefi-raw part. Someone needs to rebase it and do the remaining work for uefi (high-level wrapper) |
Giving this information, I'm in favor of closing this for better PR hygiene in this repository. We are very happy and open for future contributions that restart/continue the work tho! :) |
Steps to Undraft
Checklist
Only preliminary support.
some problem I faced:
Reader/Writer trait
ScsiIoScsiRequestPacket
/ExtScsiIoScsiRequestPacket
to be conveniently used in RustDevice Path Protocol
TARGET_MAX_BYTES
unused, for: The Target is an array of size TARGET_MAX_BYTES and it represents the id of the SCSI device to send the SCSI Request Packet.After read "SPC" which docs from T10 (SCSI Standard Groups), I Know that in_data_buffer,out_data_buffer,sense_data,cdb have variable length. so I decide to make a struct like
but data couldn't share between FFI and c. That's a problem. We should share those data by ptr.
according to uefi scsi usage from edk2:
write:
read: